
#include "ui/pubdef.h"
#include <QDir>
#include <QRandomGenerator>

QString randomSaveFile()
{
    QString saveFolder = QDir::homePath().append("/.live-image-text/");
    //创建文件夹
    QDir dir(saveFolder);

    if (!dir.exists())
    {
        dir.mkdir(saveFolder);
    }
#ifdef QT_DEBUG
    qDebug() << "saveFolder: " << saveFolder;
#endif
    int length = 16;

    // 定义包含所有可能字符的集合（这里只包含了小写字母）
    const char characters[] = "abcdefghijklmnopqrstuvwxyz";
    QString filePath;
    do
    {
        // 创建一个空的QString对象存放生成的随机字符串
        QString randomStr;

        for (int i = 0; i < length; ++i) {
            // 从characters集合中随机选取一个字符并添加到randomStr中
            randomStr.append(characters[QRandomGenerator::global()->bounded(int(sizeof(characters)-2))]);
        }

        filePath = saveFolder.append(randomStr);
    }
    while(QFile::exists(filePath));
    return filePath;
}
